Cylindrical interpolation system

ABSTRACT

A cylindrical interpolation system for machining a cylindrical surface of a cylindrical workpiece, wherein a tool diameter correcting means (104) obtains a tool center path by calculating a tool diameter offset vector for a machining shape specified with reference to an assumed orthogonal coordinate system, and an interpolating means (107) interpolates the tool center path and outputs an interpolation pulse (PCyi) related to an assumed linear axis and an interpolation pulse (PZi) related to a cylindrical axis. To effect a reverse conversion from the assumed orthogonal coordinate system to the cylindrical coordinate system, a pulse converting means (108) converts the interpolation pulse (PCyi) into an interpolation pulse (PCi) for rotating the rotary axis. A block-start correction component calculating means (105) and synchronous correction component calculating means (109) calculate correction components (Vcy, ΔVcy), and these correction components (Vcy, ΔVcy) are interpolated by a block-start correction component interpolating means (106) and synchronous correction component interpolating means (110), and added to the interpolation pulse (PCi) for rotating the rotary axis. As a result, the tool cutting surface can be always located immediately above the axis of rotation of the workpiece, and the side surface being machined is at a right angle to the cylindrical surface of the workpiece.

TECHNICAL FIELD

This invention relates to a cylindrical interpolation for machining acylindrical surface of a cylindrical workpiece by a numerical controldevice, and more particularly, to a cylindrical interpolation system inwhich a tool cutting surface is always located at right angles to thecylindrical surface.

BACKGROUND ART

When carrying out a complicated groove cutting in a cylindricalworkpiece, using an end mill at a machining center or the like, themachining operation is effected by controlling a cylindrical axis (Z)and a rotary axis (C), and for such a machining, a cylindricalinterpolation system is widely used to facilitate the preparation of amachining program.

FIG. 9 illustrates the cylindrical interpolation system, wherein acylindrical surface is developed as an assumed plane 2a and an assumedorthogonal coordinate system is established based on the Z axis and anassumed linear axis Cy. This coordinate system is identical to a usualplane coordinate system, and a path of a tool 1 with reference to theorthogonal coordinate system is derived by a program. Since the shape tobe machined is programmed with reference to a cylindrical coordinatesystem, it is converted into the assumed orthogonal coordinate system.After the interpolation for the Z and Cy axes is effected with referenceto the orthogonal coordinate system, the amount of movement of the Cyaxis is converted back (from the orthogonal coordinate system to thecylindrical coordinate system) into an amount of rotation of the axis ofrotation (C axis) 6 of a workpiece 2, to thereby control the C axis.Such a cylindrical interpolation system permits an easy preparation of aprogram for a complicated groove cutting.

Nevertheless, in the prior art cylindrical interpolation system, thetool cutting surface is not always at right angles to the cylindricalsurface. FIG. 10 shows the relationship between a tool and a workpieceduring groove cutting according to a prior art cylindricalinterpolation, in which a tool axis 1a is controlled so that it is atright angles to the cylindrical surface of the workpiece 2, andtherefore, the tool cutting surface 5 and a line 3 perpendicular to thecylindrical surface of the workpiece 2 form a constant angletherebetween. As a result, a hatched portion 4 is cut unnecessarily, andthus a desired machining cannot be carried out.

DISCLOSURE OF THE INVENTION

This invention was created in view of the above circumstances, and anobject thereof is to provide a cylindrical interpolation system forcorrecting a tool position in accordance with a tool contact vector,which is a vector from the center of a tool to a cutting point (point ofcontact) of the tool, such that the tool cutting surface is always at aright angle to the cylindrical surface.

To achieve the above object, this invention provides a cylindricalinterpolation system for machining a cylindrical surface of acylindrical workpiece, comprising tool diameter correcting means forobtaining a tool center path by calculating a tool diameter offsetvector in an assumed plane defined by a cylindrical axis and an assumedlinear axis obtained through a development of the cylindrical surface,interpolating means for interpolating the tool center path andoutputting a first interpolation pulse related to the assumed linearaxis and a second interpolation pulse related to the cylindrical axis,pulse converting means for converting the first interpolation pulse intoa third interpolation pulse related to a rotary axis, correctioncomponent calculating means for calculating a correction component of atool contact vector in a direction of the assumed linear axis from thetool diameter offset vector, correction component interpolating meansfor interpolating the correction component and outputting a firstcorrection pulse related to the rotary axis and a second correctionpulse related to an axis perpendicular to the cylindrical axis, and anadder for adding the third interpolation pulse and the first correctionpulse and providing an output pulse for the rotary axis.

The tool diameter correcting means obtains a tool center path bycalculating a tool diameter offset vector with respect to a machiningshape specified by the assumed orthogonal coordinate system, and theinterpolating means interpolates the tool center path and outputs afirst interpolation pulse related to the assumed linear axis and asecond interpolation pulse related to the cylindrical axis. To carry outa reverse conversion from the assumed orthogonal coordinate system tothe cylindrical coordinate system, the pulse converting means convertsthe first interpolation pulse into a third pulse for rotating the rotaryaxis.

The correction component calculating means obtains a correctioncomponent of the tool contact vector in the direction of the assumedlinear axis, and the correction component interpolating means shifts thetool position by the correction component, and at the same time, rotatesthe workpiece.

As a result, the tool cutting surface is controlled such that it isalways located immediately above the axis of rotation of the workpiece,and thus the side of the surface being machined is at a right angle tothe cylindrical surface of the workpiece.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating various means composing acylindrical interpolation system according to this invention;

FIG. 2(a) and FIG. 2(b) are diagrams illustrating the concept ofcorrecting a tool position according to the cylindrical interpolationsystem of this invention;

FIG. 3 and FIG. 4 are diagrams illustrating the principle of thisinvention;

FIG. 5 is a plan view illustrating the relationship between a toolcontact vector and a tool position correction value in a Y-axisdirection;

FIG. 6 is a diagram illustrating a change of the tool contact vectorduring a circular interpolation;

FIG. 7 is a diagram illustrating the relationship between a tool centerpath and the tool contact vector;

FIG. 8 is a block diagram of hardware of a numerical control device(CNC) for carrying out this invention;

FIG. 9 is a diagram illustrating a cylindrical interpolation system; and

FIG. 10 is a diagram illustrating the relationship between a tool and aworkpiece during a groove cutting by a prior art cylindricalinterpolation system.

BEST MODE OF CARRYING OUT THE INVENTION

An embodiment of this invention will be described with reference to thedrawings.

FIG. 2(a) and FIG. 2(b) illustrate the concept of tool positioncorrection adopted in a cylindrical interpolation system according tothis invention, wherein FIG. 2(a) shows a development of a machiningpath onto an assumed plane, the machining path starting at a point Pa1,passing points Pa2, Pa3, Pa4 and Pa5, and ending at a point Pa6.

FIG. 2(b) illustrates a tool position correction effected white themachining is executed along a straight section Pa2-Pa3 shown in FIG.2(a). To bring a tool cutting surface 5 of a tool 1 to a positioncoinciding with a line perpendicular to the cylindrical surface of aworkpiece 2, a tool axis 1a must be moved by a distance corresponding toa tool radius r such that the tool cutting surface 5 has a point Pimmediately above the axis of rotation of the workpiece 2. If, however,the tool 1 atone is moved, the relationship between the workpiece andthe tool varies, and therefore, it is not advisable to merely move thetool alone.

FIG. 3 and FIG. 4 illustrate the principle of this invention. In FIG. 3,the point P on the tool cutting surface is on a line 7 extendingimmediately above the axis of rotation 6 of the workpiece 2.Accordingly, when a point Q is to be contained in the tool cuttingsurface it must be moved onto the line 7, but if the tool is merelymoved in a Y-axis direction, the relationship of the relativepositioning between the assumed plane 2a developing the cylindricalsurface of the workpiece 2 and the tool 1 varies. Therefore, to avoidthis, white the tool 1 is moved in the Y-axis direction, the workpiece 2is simultaneously rotated by an angle θ about the axis of rotation 6.FIG. 4 shows a state in which the tool 1 has been moved in the Y-axisdirection, and at the same time, the workpiece 2 has been rotated by theangle θ. Namely, a line 8, not the line 7, is now located immediatelyabove the axis of rotation 6 of the workpiece 2. The angle θ is derivedby the following equation:

    θ=(Vcy/R)*(180/π)                                 (1)

where Vcy represents the amount of movement of the tool 1 in the Y-axisdirection, and R represents the radius of the workpiece 2.

FIG. 5 is a plan view showing the relationship between the tool and atool contact vector. As shown in FIG. 3, the tool contact point is firstlocated at P, and then shifted to the point Q for the subsequentmachining operation. Namely, first the tool contact vector is Va, and isthen Vb, based on the center 0 of the tool 1, i.e., the tool contactvector changes from Va to Vb. Accordingly, it follows that, if adifference Vcy between the tool contact vectors Va and Vb in thedirection of the assumed linear axis Cy is obtained, and the tool 1 ismoved by Vcy in the Y-axis direction white the workpiece 2 is rotatedover the corresponding angle θ, the tool contact point Q can be shiftedto a position immediately above the axis of rotation 6, and at the sametime, the relationship of relative positioning between the assumed plane2a of the workpiece 2 and the tool 1 is maintained.

Generally, the tool contact vector is rotated when a tool offset vectoris varied. Namely, the tool offset vector and the tool contact vectorhave the same magnitude but opposite directions. Accordingly, in alinear interpolation, the tool offset vector changes in individualblocks, and thus the rotation of the tool contact vector may beprocessed in individual blocks. In a circular interpolation, the tooloffset vector changes in accordance with pulse distribution, andtherefore, the tool contact vector varies in accordance therewith.Accordingly, the tool 1 must be moved in the Y-axis directionsimultaneously with the circular interpolation, white the workpiece 2 isrotated.

FIG. 6 shows a change of the tool contact vector during a circularinterpolation. It is assumed that the current tool contact point is at apoint PCO and the tool contact vector is VCO. If the tool contact pointis to be shifted next to a point PC1 by a circular interpolation (aninterpolation by a linear approximation), the tool contact vectorchanges from VC0 to VC1, and accordingly, the tool 1 must be moved inthe Y-axis direction by a distance corresponding to a Cy-axis componentof the difference between these tool contact vectors, and the workpiece2 must be rotated over an angle corresponding to the Cy-axis component.A similar process may be effected when the tool contact point is shiftedin the sequence of PC2, PC3 and PCn.

FIG. 7 shows the relationship between the tool center path and the toolcontact vector. The tool center is successively moved from a point Ps topoints P1, P2, P3, P4 and P5. The tool center path is indicated by 1C.At the point P1, the tool contact vector is V1, and is changed to V2 asthe tool center is shifted to the point P2. For the point P3, the vectoris changed from V2 to V3. To make each new tool contact point coincidewith the axis of rotation of the workpiece, the tool 1 is moved in theY-axis direction by a Y-axis component of the difference between theprevious and the next tool contact vectors, and simultaneously, theworkpiece 2 is rotated by an amount corresponding to the amount ofmovement in the Y-axis direction.

For an arcuate section from the point P4 to P5, the tool contact vectoris varied at each circular interpolation in such a manner that the tool1 is moved in the Y-axis direction, and simultaneously, pulsesequivalent to an angle corresponding to the Y-axis movement of theworkpiece 2 are added to C-axis interpolation pulses.

FIG. 8 shows the hardware of a numerical control device (CNC) forcarrying out this invention. In the figure, reference numeral 10 denotesa numerical control device (CNC), and a processor 11, which globallycontrols the numerical control device (CNC) 10, reads out a systemprogram stored in a ROM 12 through a bus 21, and controls the entireoperation of the numerical control device (CNC) 10 in accordance withthe system program. A RAM 13 temporarily stores calculation data anddisplay data, etc., and comprises an SRAM, for example. A CMOS 14 storestool correction values, pitch error correction values, a machiningprogram, parameters and the like, and comprises a nonvolatile memorybacked up by a not shown battery so that the data therein is retainedeven after the power supply to the numerical control device (CNC) 10 iscut off.

An interface 15 for external devices is connected to an external device31, such as a paper tape reader, paper tape puncher, paper tapereader/puncher, etc. The paper tape reader is used to read a machiningprogram, and the paper tape puncher is used for outputting a machiningprogram edited in the numerical control device (CNC) 10.

A PMC (programmable machine controller) 16, which is built into the CNC10, controls the machine in accordance with a sequence program preparedin a Ladder format. Namely, the PMC converts M, S and T functions,specified by the machining program, into signals required on the machineside in accordance with the sequence program, and outputs the convertedsignals to the machine side through an I/O unit 17. The output signalsdrive magnets, etc., on the machine side, to thereby actuate hydraulicvalves, pneumatic valves, and electric actuators, etc. Further, the PMCprocesses signals from Limit switches of the machine side and fromswitches on a machine operator panel, and supplies the processed signalsto the processor 11.

A graphic control circuit 18 converts digital data representing currentpositions of the individual axes, alarms, parameters, and image data,etc. into image signals and outputs the converted data. The imagesignals are supplied to a display device 26 of a CRT/MDI unit 25 anddisplayed thereby. An interface 19 transfers data from a keyboard 27 ofthe CRT/MDI unit 25 to the processor 11.

An interface 20 is connected to a manual pulse generator 32 forreceiving pulses therefrom. The manual pulse generator 32 isincorporated in the machine operator panel, and is used to manuallyprecisely position a machine operating part.

Axis control circuits 41 to 44 receive move commands for the respectiveaxes from the processor 11 and output commands to servo amplifiers 51 to54, respectively, and upon receiving the move commands, the servoamplifiers 51 to 54 drive servomotors 61 to 64 associated with therespective axes. A position detection pulse coder is built into each ofthe servomotors 61 to 64, and a position signal therefrom is fed back inthe form of a pulse train. Alternatively, a linear scale may be used asthe position detector. The pulse train is subjected to an F/V(frequency-to-velocity) conversion to generate a velocity signal. In thefigure, a feedback line for the position signal and a velocity feedbackare omitted.

The servomotors 61 to 64 are associated respectively with the X, Y, Zand C axes.

A spindle control circuit 71 receives a spindle rotation command and aspindle orientation command, etc., and outputs a spindle velocity signalto a spindle amplifier 72, and upon receiving the spindle velocitysignal, the spindle amplifier 72 rotates a spindle motor 73 at thespecified speed. The spindle is positioned at a predetermined positionin accordance with the orientation command.

A position coder 82 is coupled to the spindle motor 73 by gears or abeat, and thus the position coder 82 is rotated synchronously with thespindle motor 73, and a feedback pulse output therefrom is supplied tothe processor 11 through an interface 81, and read thereby. Thisfeedback pulse is used to move the other axes synchronously with thespindle motor 73, for carrying out a machining such as thread cutting.

FIG. 1 is a block diagram illustrating various means incorporated in thecylindrical interpolation system according to this invention. Thesemeans are operated by the processor 11 in accordance with the systemprogram stored in the ROM 12.

Here it is assumed that a machining program 101 dictates a Z-axiscommand and a C-axis command, and that the C-axis command is dictated inunits of angles. A decoding means 102 decodes this command anddetermines that it is a cylindrical interpolation command, and then acoordinate conversion means 103 converts the C-axis rotation commandinto an assumed linear axis Cy on an assumed plane. Namely, thecoordinates specified in angles of rotation are converted into adistance on the cylindrical surface of the workpiece 2 corresponding tothe rotation angle.

Namely, commands in the machining program 101 are decoded by thedecoding means 102, and the C-axis command is converted by thecoordinate conversion means 103 into values with reference to theassumed linear axis Cy. Then, based on these commands, a tool diametercorrecting means 104 obtains a tool center path in accordance with aprogram path with respect to the Z axis and the assumed linear axis Cy,and the tool diameter r, i.e., the tool diameter correcting means 104outputs a command value representing the center path of the tool 1.

Namely, the tool diameter correcting means 104 outputs a move command Zfor the tool 1 and a command Cy with respect to the assumed linear axis,to the interpolating means 107, and further supplies a tool radiusoffset vector to the block-start correction component calculating means105, and a tool radius and an offset direction to the synchronouscorrection component calculating means 109.

The interpolating means 107 interpolates the commands Z and Cy, andoutputs an interpolation pulse PCyi related to the assumed linear axis,and an interpolation pulse PZi related to the Z axis, to the pulseconverting means 108. The pulse converting means 108 converts theinterpolation pulse PCyi into an interpolation pulse PCi related to therotary axis (C axis), as indicated by the following equation (2):

    PCi=(PCyi/R)*(180/π)                                    (2)

where R represents the radius of the workpiece 2.

The block-start correction component calculating means 105 obtains acorrection component Vcy of the tool contact vector in the direction ofthe assumed linear axis, as shown in FIG. 5, from the tool diameteroffset vector. The tool contact vector differs from the tool diameteroffset vector only in direction, and thus the correction component canbe derived by obtaining a tool contact vector from the tool diameteroffset vector and obtaining an assumed linear axis component of itsvector of rotation, as shown in FIG. 5.

The correction component Vcy is interpolated by the block-startcorrection component interpolating means 106, and is output therefrom asa correction pulse RYj for the Y axis and a correction pulse RCj for therotary axis. The sum of the correction pulses RYj is equivalent to thedistance between the points P and Q on the cylindrical surface 2a in theY-axis direction, as shown in FIG. 3. The C axis is rotated by θ, asshown in FIG. 3, in accordance with the correction pulse RCj.

When the tool contact vector is rotated between successive blocks, e.g.,the center of the tool 1 is at the point P2 in FIG. 7, the block-startcorrection component calculating means 105 calculates a correctioncomponent. The interpolation by the block-start correction componentinterpolating means 106 is effected before an interpolation for themovement of the tool 1 from P2 to P3.

The synchronous correction component calculating means 109 calculates acorrection component when the tool contact vector varies at eachinterpolation of the interpolating means 107, e.g., in a circularinterpolation shown in FIG. 6, involute interpolation, or the like.Namely, when the tool contact vector changes from VCO to VC1, as shownin FIG. 6, an assumed linear axis component ΔVcy corresponding to thechange of the tool contact vector is obtained and supplied to thesynchronous correction component interpolating means 110. Thesynchronous correction component interpolating means 110 interpolatesthe correction component ΔVcy each time the interpolating means 107carries out an interpolation, and outputs a correction pulse RCi for theC axis and a correction pulse RYi for the Y axis. These correctionpulses RCi and RYi are output from the interpolating means 107synchronously with the interpolation pulses PCi and PZi.

The correction pulses RYj and RYi for the Y axis are added at an adder111, and the result is supplied to the axis control circuit 42 as anoutput pulse for the Y axis. In this case, the correction pulses RYi andRYi are not output at the same time.

The correction pulse RCj, interpolation pulse PCi and correction pulseRCi for the C axis are added at an adder 112, and the result is suppliedto the axis control circuit 44. The correction pulse RCi and theinterpolation pulse PCi are superimposed when output.

The interpolation pulse PZi for the Z axis is supplied to the axiscontrol circuit 43.

As described above, the C axis is rotated and the Y axis is moved inaccordance with an assumed linear axis component corresponding to thechange of the tool contact vector, whereby the tool cutting surface islocated immediately above the axis of rotation of the workpiece and theside surface being machined is brought to a position perpendicular tothe cylindrical surface of the workpiece.

In the above description, the Z, C and Y axes represent a cylindricalaxis, a rotary axis, and an axis perpendicular to the cylindrical axis,respectively, but these axes are named only for explanation purposes,and may be modified depending on the arrangement of the machines.

Further, in the above description, the rotary axis command in themachining program is dictated in terms of angles, but command valueswhich have been converted with reference to the assumed linear axis by aprogramming system may be alternatively used. In this case, thecoordinate conversion means shown in FIG. 1 is not necessary.

As described above, according to this invention, the Y axis is moved byan assumed linear axis component corresponding to the change of the toolcontact vector, and at the same time, the rotary axis is rotated by acylindrical interpolation to carry out a tool position correction,whereby the tool cutting surface is always located immediately above theaxis of rotation of the workpiece and the side surface being machined isat a right angle to the cylindrical surface of the workpiece.

We claim:
 1. A cylindrical interpolation system for machining acylindrical surface of a cylindrical workpiece, comprising:tool diametercorrecting means for obtaining a tool center path by calculating a tooldiameter offset vector in an assumed plane defined by a cylindrical axisand an assumed linear axis obtained through a development of thecylindrical surface; interpolating means for interpolating the toolcenter path and outputting a first interpolation pulse related to theassumed linear axis and a second interpolation pulse related to thecylindrical axis; pulse converting means for converting the firstinterpolation pulse into a third interpolation pulse related to a rotaryaxis; correction component calculating means for calculating acorrection component of a tool contact vector in a direction of theassumed linear axis from the tool diameter offset vector; correctioncomponent interpolating means for interpolating the correction componentand outputting a first correction pulse related to the rotary axis and asecond correction pulse related to an axis perpendicular to thecylindrical axis; and an adder for adding the third interpolation pulseand the first correction pulse and providing an output pulse for therotary axis.
 2. A cylindrical interpolation system according to claim 1,wherein said correction component calculating means comprisesblock-start correction component calculating means for obtaining acorrection component between the tool contact vectors of successiveblocks, and synchronous correction component calculating means forcalculating a correction component for each interpolation.
 3. Acylindrical interpolation system according to claim 1, wherein saidcorrection component interpolating means comprises block-startcorrection component interpolating means for interpolating a block-startcorrection component before an interpolation by the interpolating means,and synchronous correction component interpolating means forinterpolating a synchronous correction component synchronously with eachinterpolation by the interpolating means.
 4. A cylindrical interpolationsystem according to claim 1, wherein said cylindrical axis comprises a Zaxis, the rotary axis comprises a C axis, and the axis perpendicular tothe cylindrical axis comprises a Y axis.
 5. A cylindrical interpolationsystem according to claim 1, wherein an axis rotation command in amachining program is dictated in terms of angles of rotation, and thesystem further comprises coordinate conversion means for converting theaxis rotation command into a linear command value related to the assumedlinear axis on the cylindrical surface.
 6. A cylindrical interpolationsystem according to claim 1, wherein an axis rotation command in amachining program is dictated as an amount of movement along the assumedlinear axis.